%matplotlib inline
import numpy as np
import cv2
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import glob
import pickle
object_points_list = [] # 3d points in real world space. (Same for all)
image_points_list = [] # 2d points in image plane.
nx, ny = 9, 6 # inside corners in rows, columns
object_points = np.zeros((nx * ny, 3), np.float32)
object_points[:, :2] = np.mgrid[0:nx, 0:ny].T.reshape(-1, 2)
images = glob.glob("camera_cal/calibration*.jpg")
assert len(images) == 20
plt.figure(figsize=(100, 50))
for i in range(len(images)):
img = cv2.imread(images[i])
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
retval, corners = cv2.findChessboardCorners(gray, (nx, ny), None)
if retval:
cv2.drawChessboardCorners(img, (nx, ny), corners, retval)
image_points_list.append(corners)
object_points_list.append(object_points)
plt.subplot(4, 5, i + 1)
plt.axis('off')
plt.imshow(img)